/*
* 文 件 名:  AbstractIbatisDAO.java
* 版    权:  Tydic Technologies Co., Ltd. Copyright 1993-2012,  All rights reserved
* 描    述:  ibatis的数据库操作ＤＡＯ
* 修 改 人:  agan
* 修改时间:  2012-9-4
* 跟踪单号:  <跟踪单号>
* 修改单号:  <修改单号>
* 修改内容:  <修改内容>
*/

package com.tydic.framework.dao;

import com.ibatis.sqlmap.client.SqlMapClient;

import java.sql.Connection;
import java.sql.SQLException;
import javax.sql.DataSource;

/**
* ibatis的数据库操作ＤＡＯ
* 
* @author  agan
* @version  [1.0, 2012-9-4]
* @since  [权限管理/1.0]
*/

public abstract class AbstractIbatisDAO {
    
    protected SqlMapClient sqlMapClient;
    
    public SqlMapClient getSqlMapClient() {
        return sqlMapClient;
    }
    
    public void setSqlMapClient(SqlMapClient sqlMapClient) {
        this.sqlMapClient = sqlMapClient;
    }
    
    /**
     * 获取数据库连接
     * @return 数据库连接
     * @throws SQLException
     */
    public Connection getConnection()
        throws SQLException {
        return sqlMapClient.getDataSource().getConnection();
    }
    
    /**
     * 获取事务中的当前连接
     * @return 数据库连接
     * @throws SQLException
     */
    public Connection getCurrentConnection()
        throws SQLException {
        return sqlMapClient.getCurrentConnection();
    }
    
    /**
     * 获取数据源
     * @return 数据源
     */
    public DataSource getDataSource() {
        return sqlMapClient.getDataSource();
    }
    
}
